var mongoose = require('mongoose');
var Comment = require('../models/comment.model.js')// 引数据模型

//获取
exports.get = function(req,res,next){

    var id = req.params.id; // req.param('id')
    // 现在操作的都是mongoose而不是mongodb
    Comment.findById(id,function(err,result){
        res.json(result);
    })
    
}

// 新增
exports.create = function(req,res,next){
    var comment = new Comment(req.body); // 从req.body里获取参数对象，比如{name:'vane',gender:'男',city:'杭州'....}

    comment.save()
    .then(data=>{
        res.json(data)
    })
    
}

//修改
exports.update = function(req,res,next){
  
    var id = req.params.id; // req.param('id')
    // 现在操作的都是mongoose而不是mongodb
    Comment.findByIdAndUpdate(id,{$set: req.body}, {new:false} )
    .then(data=>{
        res.json({msg:'数据修改成功',status:200}); // 如果你要返回数据，这个data返回的是你之前修改的那个数据内容
    })
}

//删除
exports.remove = function(req,res,next){
    var id = req.params.id;
    Comment.findByIdAndRemove(id,function(err,doc){
        res.json({msg:'数据删除成功',status:200})
    })
} 

//删除多个
exports.removes = function(req,res,next){
    var ids = req.params.ids.split(',');
    Comment.remove({_id:{$in:ids}})
    .then(data=>{
        res.json('delete success');
    })
}

exports.list = function(req,res,next){

    console.log(req.body);
    var page = (req.body.page) ? req.body.page : 1;
    // var limit = (req.body.limit) ? req.body.limit : 2;
    var rows = (req.body.rows) ? req.body.rows : 2;
    //console.log(rows,typeof rows);

    var queryCondition = {};
    var title;
    var content;
    var cateId;
    var userId;
    var newsId;

    if( req.body.title && req.body.title.trim().length>0 ){
        title = req.body.title;
        queryCondition = {"title":new RegExp(title,'i')}
    }

    if( req.body.content && req.body.content.trim().length>0 ){
        content = req.body.content;
        queryCondition = {"content":new RegExp(content,'i')}
    }

    if(req.body.cateId && req.body.cateId.trim().length>0){
        cateId = req.body.cateId;
        queryCondition = {
            "cateId" : cateId
        }
    }
    
    if(req.body.userId && req.body.userId.trim().length>0){
        userId = req.body.userId;
        queryCondition = {
            "userId" : userId
        }
    }

    if(req.body.newsId && req.body.newsId.trim().length>0){
        newsId = req.body.newsId;
        queryCondition = {
            "newsId" : newsId
        }
    }

    Comment.paginate(queryCondition, { page: page, limit: parseInt(rows) }, function(err, result) {
        result.rows = result.docs;
        delete result.docs;

       res.json(result)
    });
}